package com.ruoyi.nongjt.domain;

import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 合格证对象 certificate
 * 
 * @author ruoyi
 * @date 2024-04-05
 */
@Data
public class Certificate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 合格证ID */
    private Long certificateId;

    /** 合格证编号 */
    private String code;

    /** 产品名称 */
    private String productName;

    /** 重量 */
    private String weight;

    /** 数量 */
    private String quantity;

    /** 合格方式（self:自检，delegate:委托） */
    private String sourceType;

    /** 检测机构 */
    private String testingOrg;

    /** 状态（printed:已打印，void:已作废，temp:临时生成） */
    private String status;

    /** 生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 生成人 */
    private String createBy;

    /** 打印时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date printTime;

    /** 作废时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date voidTime;

    /** 作废原因 */
    private String voidReason;

    /** 打印数量 */
    private Integer printCount;

    /** 检测报告URL列表 */
    private List<String> reportUrls;

    /** 合格证编号列表（用于批量操作） */
    private List<String> certificateCodes;

    // getter和setter方法
    public Long getCertificateId() {
        return certificateId;
    }

    public void setCertificateId(Long certificateId) {
        this.certificateId = certificateId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getWeight() {
        return weight;
    }

    public void setWeight(String weight) {
        this.weight = weight;
    }

    public String getQuantity() {
        return quantity;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getTestingOrg() {
        return testingOrg;
    }

    public void setTestingOrg(String testingOrg) {
        this.testingOrg = testingOrg;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getPrintTime() {
        return printTime;
    }

    public void setPrintTime(Date printTime) {
        this.printTime = printTime;
    }

    public Date getVoidTime() {
        return voidTime;
    }

    public void setVoidTime(Date voidTime) {
        this.voidTime = voidTime;
    }

    public String getVoidReason() {
        return voidReason;
    }

    public void setVoidReason(String voidReason) {
        this.voidReason = voidReason;
    }

    public Integer getPrintCount() {
        return printCount;
    }

    public void setPrintCount(Integer printCount) {
        this.printCount = printCount;
    }

    public List<String> getReportUrls() {
        return reportUrls;
    }

    public void setReportUrls(List<String> reportUrls) {
        this.reportUrls = reportUrls;
    }

    public List<String> getCertificateCodes() {
        return certificateCodes;
    }

    public void setCertificateCodes(List<String> certificateCodes) {
        this.certificateCodes = certificateCodes;
    }
}